﻿// Inner Fire 游戏引擎库
// SceneInfo 场景配置
//
// Copyright (c) 2025 by 尔西大帝. All rights reserved.
//
// 所属层级：应用层(4)
// 用于场景的配置。
//
// Author: 尔西大帝
// Email: 2670613871@qq.com
// Created: 2025-07-09

#pragma once

#include <game/config/config_info.h>
#include <xml_reader.h>


namespace ifire::game {
class ConfigManager;

class SceneInfo : public ConfigInfo {
public:
  SceneInfo(ConfigManager* manager, const ikit::XmlNode& node);
  SceneInfo(const SceneInfo& lhs) = delete;
  SceneInfo& operator=(const SceneInfo& lhs) = delete;
  ~SceneInfo();

public:  
  std::string map_file;
  std::string ui_layout;
  std::string lua_script;
  ikit::sstr sky_box;
};

using SceneInfoPtr = std::unique_ptr<SceneInfo>;

} // namespace ifire::game